home *** CD-ROM | disk | FTP | other *** search
/ Aminet 31 / Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso / Aminet / util / gnu / xpdf-0.8-src.lha / xpdf-0.8-src / ltk / LTKFileReq.h < prev    next >
C/C++ Source or Header  |  1998-11-28  |  2KB  |  75 lines

  1. //========================================================================
  2. //
  3. // LTKFileReq.h
  4. //
  5. // Copyright 1997 Derek B. Noonburg
  6. //
  7. //========================================================================
  8.  
  9. #ifndef LTKFILEREQ_H
  10. #define LTKFILEREQ_H
  11.  
  12. #ifdef __GNUC__
  13. #pragma interface
  14. #endif
  15.  
  16. #include <stddef.h>
  17. #include <X11/Xlib.h>
  18. #include "GString.h"
  19. #include "LTKCompoundWidget.h"
  20.  
  21. class LTKBox;
  22. class LTKList;
  23. class LTKScrollbar;
  24. class LTKTextIn;
  25.  
  26. //------------------------------------------------------------------------
  27. // LTKFileReq
  28. //------------------------------------------------------------------------
  29.  
  30. class LTKFileReq: public LTKCompoundWidget {
  31. public:
  32.  
  33.   //---------- constructor and destructor ----------
  34.  
  35.   LTKFileReq(char *name1, int widgetNum1,
  36.          LTKStringValCbk selectCbk1, char *fontName1);
  37.  
  38.   virtual ~LTKFileReq();
  39.  
  40.   //---------- special access ----------
  41.  
  42.   GString *getSelection();
  43.   GString *getDir() { return dir->copy(); }
  44.   void setDir(GString *dir1);
  45.  
  46.   //---------- layout ----------
  47.  
  48.   virtual void layout3();
  49.   virtual void map();
  50.  
  51. protected:
  52.  
  53.   void makeWidgets();
  54.   void loadDirList();
  55.   static void clickCbk(LTKWidget *widget, int widgetNum, int line);
  56.   static void dblClickCbk(LTKWidget *widget, int widgetNum, int line);
  57.   static void dirNameCbk(LTKWidget *widget, int widgetNum, GString *val);
  58.   static void hScrollCbk(LTKWidget *widget, int widgetNum, int val);
  59.   static void vScrollCbk(LTKWidget *widget, int widgetNum, int val);
  60.  
  61.   LTKStringValCbk selectCbk;    // called when user selects a file
  62.   char *fontName;        // font name for TextIn and List widgets
  63.   LTKTextIn *dirName;        // directory name widget
  64.   LTKList *list;        // list widget for directory listing
  65.   LTKScrollbar *hScrollbar;    // horizontal scrollbar
  66.   LTKScrollbar *vScrollbar;    // vertical scrollbar
  67.   LTKTextIn *fileName;        // file name widget
  68.  
  69.   GString *dir;            // currently dispalyed directory
  70.   GString *selection;        // used to build selection name
  71.   int numDirs;            // number of directories in list
  72. };
  73.  
  74. #endif
  75.